package cn.edu.ctbu.lablist.service;

import cn.edu.ctbu.lablist.domain.Score;
import cn.edu.ctbu.lablist.domain.Student;
import org.springframework.data.domain.Example;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public interface ScoreService {
    /**
     * 查询所有信息
     * @return
     */
    public List<Score> findAll();
    /**
     * 只分页的查询
     * @param pageable
     * @return
     */
    public Page<Score> findAll(Pageable pageable);
    /**
     *分页，带过滤的查询
     * @param score
     * @param pageable
     * @return
     */
    public Page<Score> findAll(Example<Score> score, Pageable pageable);
    /**
     * 按id进行查询
     * @param id 主键，整数
     * @return
     */
    public Score findById(Integer id);
    /**
     * 按学号查询
     * @param sno 字符串
     * @return
     */
    public List<Score> findBySno(String sno);
    /**
     * 按教师编号查询
     * @param tno
     * @return
     */
    public List<Score> findByTno(String tno);
    /**
     * 按学号和教师编号查询
     * @param sno
     * @param tno
     * @return
     */
    public List<Score> findBySnoAndTno(String sno,String tno);
    /**
     * 插入选课信息
     * @param score
     */
    public void insert(Score score);
    /**
     * 更新选课信息
     * @param score
     */
    public void update(Score score);
    /**
     * 删除选课信息
     * @param id
     */
    public void delete(Integer id);
}